package 面试经典150题.二分查找;

/**
 * @author tmh
 * @date 2024/6/29 20:35
 * @description
 */
public class T367有效的完全平方数 {

    public boolean isPerfectSquare(int num) {
        //使用二分法来进行操作
        //定义两个数 l 和 r 而且类型需要为long
        long l = 0, r = num;
        while (l < r) {
            //这里的mid是（左+右+1）/2得到的
            long mid = (l + r + 1) / 2;
            if (mid * mid <= num) {
                l = mid;
            } else {
                r = mid - 1;
            }
        }
        return r * r == num;
    }
}
